public class EqualityChecker {
    // 判断两个值是否相等
    public static boolean isEqual(Object a, Object b) {
        // 处理null情况
        if (a == null) {
            return b == null;
        }

        // 基本类型会自动装箱，直接用equals判断
        // 引用类型通过instanceof确认类型兼容后再比较
        if (a instanceof Number) {
            return a.equals(b);
        } else if (a instanceof Boolean) {
            return a.equals(b);
        } else if (a instanceof Character) {
            return a.equals(b);
        } else if (a instanceof Object) {
            // 引用类型先检查类型兼容性
            if (b instanceof Object && a.getClass().isInstance(b)) {
                return a.equals(b);
            }
        }
        return false;
    }
}